草庐IT

Java SQL 结果到 InputStream

全部标签

java - 当 jar 文件从 URL 作为 InputStream 打开时,JarEntry.getSize() 返回 -1

我正在尝试从JarInputStream读取文件,文件大小返回-1。我正在从URL作为inputStream访问Jar文件。URLConnectioncon=url.openConnection();JarInputStreamjis=newJarInputStream(con.getInputStream());JarEntryje=null;while((je=jis.getNextJarEntry())!=null){htSizes.put(je.getName(),newInteger((int)je.getSize()));if(je.isDirectory()){conti

java - 搜索文本文件并在 JPanel 中显示结果

有没有人知道如何搜索文本文件并在JComponent(如JPanel)中列出结果。两天来我一直在努力解决这个问题,但如果没有成功,我将不胜感激。非常感谢。我一直在尝试编写一个类来处理对文本文件的搜索查询。我的主要目标是获取包含在JTextField中输入的搜索关键字的文本文件中的行,并将它们打印在适当的JComponent(类似于JTextField、JTextPane,以最适用的为准)中。我希望搜索结果显示在列中,就像google搜索结果的显示方式一样,以便文本文件中的每一行都打印在自己的行中。有人告诉我最好使用ArrayList。我真的不知道该怎么做。我从各地收集了一些想法,这就是

java - Math.pow 在重复调用时产生不同的结果

升级到Java1.8.0_20后我们的测试系统报错,但是代码没有改。我发现,使用完全相同的输入参数调用的Math.pow()在重复调用时会产生不同的结果。在Java1.8.0_11中,它的行为符合预期并始终返回相同的值,但在Java1.8.0_20及更高版本中,它有时会返回略有不同的值。这类似于问题Math.powyieldsdifferentresultdependingonjavaversion,但有所不同,因为pow()的结果在一个VM中不同。以下JUint测试在Java1.8.0_20及更高版本下运行时失败importstaticorg.junit.Assert.assertE

java - InputStream.close() 有什么作用吗?

根据officialdocumentation:publicvoidclose()throwsIOExceptionClosesthisinputstreamandreleasesanysystemresourcesassociatedwiththestream.TheclosemethodofInputStreamdoesnothing.那么它什么都不做还是什么都不做? 最佳答案 不,它什么都不做,但是InputStream是一个abstract类,其中close不是抽象的(它实现了java.io.Closeable),它有一个空

java - 如何处理来自数据库的巨大结果集

我正在设计一个多层数据库驱动的Web应用程序–SQL关系数据库,Java用于中间服务层,Web用于UI。语言并不重要。中间服务层执行数据库的实际查询。UI只是请求某些数据,并不知道它是由数据库支持的。问题是如何处理大数据集?UI请求数据,但结果可能很大,可能太大而无法放入内存。例如,路牌应用程序可能有一个服务层:StreetSigngetStreetSign(intidentifier)CollectiongetStreetSigns(Streetstreet)CollectiongetStreetSigns(LatLonBoxbox)UI层要求获得满足某些条件的所有路标。根据标准,结

java - 与 java 线程不一致的结果

我有一个实现runnable的线程类和一个作为实例变量的int计数器。两个同步方法add和sub。当我以某种方式运行我的测试类时,它会打印几次错误的结果。据我了解,当一个方法被同步时,整个对象将被锁定以供其他线程访问,每次我们都应该得到相同的结果时使用这种逻辑吗?有些情况并非如此。我错过了什么吗?我的机器是Windows7,64位。publicclassThreadClassimplementsRunnable{intcounter=0;@Overridepublicvoidrun(){add();sub();}publicsynchronizedvoidadd(){System.ou

java - JNLP 应该使用特定的 Java 版本但错误结果

我遇到了一个问题。我想使用一个特殊版本来运行我们的javawebstart应用程序,但只适用于一个jnlp。(“它已经过测试,......blabla我们不能使用新版本......blabla”随机风袋)所以我尝试像这样配置我们的JNLP:...当我现在启动这个jnlp时,即使安装了正确的Java,我也会收到以下错误:Error:TheapplicationhasrequestedaversionoftheJRE(version1.6.0_29)thatcurrentlyisnotlocallyinstalled.JavaWebStartisunabletoautomaticallyd

Java:并发读取 InputStream

现在已经四处寻找了一段时间,我对这个问题有点困惑。我希望能够获取输入流并分段同时读取它。这些段不会相互交互,它们只是要从上传的文件插入或更新到数据库中的值。是否可以通过设置段大小来并发读取输入流,然后在分拆新线程以处理转换和插入/更新之前向前跳过?本质上,该文件是一个ID列表(每行一个ID),但如果我可以指定一个分隔符则更好。有些文件可能很大,所以我想处理数据并将其转换成段,以便在插入/更新数据库后可以释放JVM内存。这可能吗?如果是这样,是否有任何图书馆已经这样做了?提前干杯和感谢,阿列克谢蓝。 最佳答案 一个好的方法可能是让一个

java - 如何在循环 while 循环后将结果集重置为第一行

我的代码有两个循环,对于外循环的第一行,我的外循环应该遍历内循环的所有行,而对于外循环的第二行,它应该遍历内排。inty1,y2;floatt=0,s1,s2;while(rm.next()){intcurrentCol=0;cellNumber=newjxl.write.Number(currentCol++,currentRow,index,integerFormat);index++;sheet.addCell(cellNumber);cellLabel=newLabel(currentCol++,currentRow,rs.getString("Name"));sheet.ad

java - 我是否必须在 try-with-resources-block 中关闭已终止的流式查询结果?

这个问题在这里已经有了答案:Doterminaloperationsclosethestream?(2个答案)关闭6年前。在SpringDataJPA文档中它说关于流:AStreampotentiallywrapsunderlyingdatastorespecificresourcesandmustthereforebeclosedafterusage.YoucaneithermanuallyclosetheStreamusingtheclose()methodorbyusingaJava7try-with-resourcesblock.参见:http://docs.spring.io